<?php
    require_once("config.php");
	require_once("utils.php");
	require_once(ROOT_DIR_CLASES.'/cCliente.php');
	require_once(ROOT_DIR_CLASES.'/cClienteBykom.php');
	require_once(ROOT_DIR_CLASES.'/MisPuntos.php');
	require_once(ROOT_DIR_CLASES.'/MisGrupos.php');
	require_once 'JSON.php';

	$args = ($_SERVER['REQUEST_METHOD'] == "POST") ? $_POST : $_GET;
	$json = new Services_JSON();
    
    if (array_key_exists('COMMAND', $args))
	{		
		$cmd = $args['COMMAND'];
    	switch ($cmd) {
			case "SAVE": 
				$Punto = new MisPuntos();
				$Punto->flotaId = $args['FLOTAID'];
				$Punto->esflota = $args['ESFLOTA'];
				if($args['OBJETIVO']==4){
					$Punto->flotaId = $args['TABLAID'];
					$Punto->esflota = $args['OBJETIVO'];
				}
				$Punto->id 		= $args['ORDERID'];
				$Punto->latitud = $args['LATITUD'];
				$Punto->longitud= $args['LONGITUD'];
				$Punto->nombre 	= $args['NOMBRE'];
				$Punto->icono 	= $args['ICONO'];
				$Punto->datos 	= $args['DATOS'];
				$Punto->publico = $args['PUBLICO'];
				$Punto->seguro 	= $args['SEGURO'];
				$Punto->grupoId = $args['GRUPO'];
				$oldGrupo 		= $args['OLDGRUPO'];
				$isBykom 		= $args['ISBYKOM'];
				if ($isBykom){
					$Punto->tolerancia = $args['TOLERANCIA'];
					$res 			= BykomCliente_byk::PersistirPunto($Punto, $oldGrupo);
				}else{
					$res 			= BykomCliente::PersistirPunto($Punto, $oldGrupo);
				}
				break;
			case "DELETE":
				$Ids 		=  split(',',$args['ORDERID']);
				$cuentaId 	=  $args['CUENTAID'];
				$objetivo	=  $args['OBJETIVO'];
				$isBykom 	= $args['ISBYKOM'];
				if ($isBykom){
					$res = BykomCliente_byk::EliminarPuntos($Ids,$cuentaId,$objetivo);
				}else{
					$res = BykomCliente::EliminarPuntos($Ids,$cuentaId,$objetivo);
				}
				break;
			case "PUBLICAR": 
				$Ids =  split(',',$args['ORDERID']);
				$publicar = (boolean)$args['PUBLICAR'];
				$res = BykomCliente::PublicarPuntos($Ids, $publicar);
				break;
			case "SEGURO":
				$Ids =  split(',',$args['ORDERID']);
				$seguro = (boolean)$args['SEGURO'];
				if($args['ISBYKOM']){
					$res = BykomCliente_byk::SeguroPuntos($Ids, $seguro);
				}else{
					$res = BykomCliente::SeguroPuntos($Ids, $seguro);
				}
				break;
			case "SAVEGROUP": 
				$Grupo = new MisGrupos();
				$Grupo->flotaId = $args['FLOTAID'];
				$Grupo->esflota = $args['ESFLOTA'];
    			if($args['OBJETIVO']==4){
					$Grupo->flotaId = $args['TABLAID'];
					$Grupo->esflota = $args['OBJETIVO'];
				}
				$Grupo->id = $args['ORDERID'];
				$Grupo->nombre = $args['NOMBRE'];
				$Grupo->datos = $args['DATOS'];
				if($args['ISBYKOM']){
					$res = BykomCliente_byk::PersistirGrupo($Grupo);
				}else{
					$res = BykomCliente::PersistirGrupo($Grupo);
				}
				break;
			case "DELETEGROUP": 
				$Ids =  split(',',$args['ORDERID']);
				if($args['ISBYKOM']){
					$res = BykomCliente_byk::EliminarGrupos($Ids);
				}else{
					$res = BykomCliente::EliminarGrupos($Ids);
				}
				break;
    	}
	}
	
	$response = $json->encode($res);
    header('Content-Type: text/plain');
    echo $response;
?>